1. Field of the Invention
The present invention relates to initiating connection procedures to enable communication between devices, and in particular but not exclusively the invention relates to connecting devices so as to enable secure wireless communication between them.
2. Discussion of Background Art
Devices in a Bluetooth communication system can communicate with each other by radio in accordance with the Bluetooth radio protocols. Each Bluetooth-enabled device has an individual device identity (a Bluetooth device address), which allows devices to identify one another. Using Bluetooth, devices can communicate in ad hoc networks, for example to enable convenient data transfer during a conference. Devices can also be paired, by the exchange of security information between the devices so as to allow the devices to authenticate themselves to each other. Whether or not the devices are paired in a secure way, it can be advantageous for two devices to be configured to communicate specifically with each other. For example, a specific mobile phone may be configured to operate with a specific radio headset with the effect that when the phone is in operation it communicates with that particular headset to provide audio to a user via the headset. Similarly, a specific keyboard or mouse may be configured to operate with a specific personal computer (PC) to enable a user to provide commands or data to the PC wirelessly through the keyboard. This can be achieved by means of the unique identities of each device in the system, with the devices that are to communicate together storing each others' identities and using them to communicate with the other devices when required.
Devices may interoperate for providing various functions to each other. For example, a notebook computer may be configured to interoperate with a specific mobile phone for communication functions and with a mouse for user input functions. This is achieved by a device storing the identities of the devices with which it is to interoperate in association with the functions for which they are paired. Then, when the device requires a particular function it can attempt to contact the appropriate counterpart device.
One objective of configuring devices in this way is to ensure that when there are several devices nearby, a device chooses to communicate with the right one. For example, in a crowded space several people might have mobile phones and headsets. Enabling each person to configure their own devices to operate only with each other prevents one person's phone providing audio to another person's headset, for example.
By pairing the devices security can be enhanced since the chance of a rogue device successfully impersonating another device is reduced. Another objective of pairing is to simplify security. Devices can store security data that allows them to satisfy the security requirements of the devices with which they are paired.
In order to configure two devices to interoperate each one must be set so as to store the other's identity. The identity of one device could be entered into the other device by a user. However, the identity is typically a long string (usually 48 bits), which the user could easily mis-type. Therefore, it is more common for one device to be triggered by the user to perform a scan for other devices in the vicinity. In the case of Bluetooth this scanning operation uses an INQUIRY message.
In one configuration, when the scanning device has compiled a list of nearby devices it displays that list to a user, who can select from the list the one with which the device is to operate. Normally the user also selects a function for which the other device will be used. The device that the user is operating then stores the identity of the selected device for interoperation purposes. It may subsequently communicate with the selected device by means of a PAGE message, to establish a communication connection with the selected device. From the PAGE message the selected device can obtain and store the identity of the device that the user is operating, for use when communication is required in the future.
This procedure requires the user to be able to interact with at least one of the Bluetooth-enabled devices. That device must have some user input means, and preferably a display or other user output device, so that the user can interact with at least one of the devices to initiate and/or carry out the steps described above.
A disadvantage of current mechanisms for initiating the pairing of a PC with a user input device is that the user input device cannot provide input before it is itself connected, thus causing a difficulty in enabling a user to trigger pairing. For example, if a new keyboard is being introduced to a PC, that keyboard cannot be used to control the operation of the PC until it can be recognised by the PC, thus making it impossible for the keyboard to be used for the initiation of a pairing sequence. It may be possible for a mouse to be used to initiate the pairing sequence in this case, but a mouse only enables restricted types of inputs by a user, and a new PC might not be paired with a mouse or a keyboard. This is not only inconvenient for a user, it also inhibits the supply of wireless keyboard and mouse devices with new PCs.
One way of avoiding the above problem could be to temporarily connect a wired keyboard to the PC to instruct the PC to search for the new Bluetooth keyboard, but this is a relatively clumsy solution since it requires the presence of an otherwise superfluous keyboard.
Another solution could be to configure a PC to connect automatically to nearby Bluetooth devices each time it starts up, but this could cause unwanted nearby devices to become paired to the PC, which could lead to security problems.